Methods and vehicles for driverless self-park

ABSTRACT

A method for navigating a vehicle automatically from a current location to a destination location without a human operator is disclosed. The method includes identifying a vehicle location using global positioning system (GPS) data regarding the vehicle. Also included is identifying that the vehicle location is near or at a parking location. Then, using mapping data defined for the parking location. The mapping data at least in part is used to find a path at the parking location to avoid a collision of the vehicle with at least one physical structure when the vehicle is automatically moved at the parking location. The method includes instructing the electronics of the vehicle to proceed with controlling the vehicle to automatically move from the current location to the destination location at the parking location. The electronics use as input at least part of the mapping data and sensor data collected from around the vehicle by at least two vehicle sensors. The path is configured to be updatable dynamically based on changes in the destination location or changes along the path. The destination location is a parking spot for the vehicle at the parking location.

CLAIM OF PRIORITY

The present application is a continuation of and claims priority to U.S. application Ser. No. 15/859,730, filed on Jan. 1, 2018, entitled “METHODS AND VEHICLES FOR DRIVERLESS SELF-PARK”, which is a continuation of and claims priority to U.S. application Ser. No. 15/444,328, filed on Feb. 28, 2017 (now U.S. Pat. No. 10,308,244, issued on Jun. 4, 2019), entitled “SYSTEMS FOR AUTOMATIC DRIVERLESS MOVEMENT FOR SELF-PARKING PROCESSING”, which is a continuation of and claims priority to U.S. application Ser. No. 13/934,215, filed on Jul. 2, 2013 (now U.S. Pat. No. 9,581,997, issued on Feb. 28, 2017) entitled “METHODS AND SYSTEMS FOR CLOUD-BASED DATA EXCHANGES FOR REMOTE VEHICLE CONTROL AND DATA SHARING, COMMUNICATION FOR AUTOMATIC DRIVERLESS MOVEMENT, ACCIDENT AVOIDANCE CONTROL AND NOTIFICATIONS”, which claims priority to U.S. Provisional Patent Application No. 61/757,020, filed on Jan. 25, 2013, and entitled “METHODS AND SYSTEMS FOR CLOUD-BASED DATA EXCHANGES FOR REMOTE VEHICLE CONTROL AND DATA SHARING, COMMUNICATION FOR AUTOMATIC DRIVERLESS MOVEMENT, ACCIDENT AVOIDANCE CONTROL AND NOTIFICATIONS”, all of which are herein incorporated by reference.

U.S. application Ser. No. 13/934,215 also claimed priority from U.S. Provisional Patent Application No. 61/760,003, filed on Feb. 1, 2013, and entitled “METHODS AND SYSTEMS FOR VEHICLE SECURITY AND REMOTE ACCESS AND SAFETY CONTROL INTERFACES AND NOTIFICATIONS”, which is herein incorporated by reference.

U.S. application Ser. No. 13/934,215 also claimed priority from U.S. Provisional Patent Application No. 61/745,729, filed on Dec. 24, 2012, and entitled “METHODS AND SYSTEMS FOR ELECTRIC VEHICLE (EV) CHARGING, CHARGING SYSTEMS, INTERNET APPLICATIONS AND USER NOTIFICATIONS”, which are all herein incorporated by reference.

U.S. application Ser. No. 13/934,215 also claimed priority as a continuation-in-part of U.S. application Ser. No. 13/452,882, filed Apr. 22, 2012, (now U.S. Pat. No. 9,123,035, issued on Sep. 1, 2015) and entitled “ELECTRIC VEHICLE (EV) RANGE EXTENDING CHARGE SYSTEMS, DISTRIBUTED NETWORKS OF CHARGE KIOSKS, AND CHARGE LOCATING MOBILE APPS”, which claimed priority to U.S. Provisional Application No. 61/478,436, filed on Apr. 22, 2011.

All above identified applications are incorporated herein by reference.

FIELD OF THE EMBODIMENTS

The present invention relates to systems and methods that enable vehicle-to-vehicle communication for accident avoidance.

BACKGROUND

Vehicles, such as motorized vehicles and electric vehicles have been around for some time. Vehicles provide a means that enable humans to drive from place to place. In today's world, vehicles have become an indispensable mode of transportation, and provide the freedom to travel at any time of day and for various distances. Vehicles can be publically operated or can be privately owned. Humans most commonly operate vehicles, no matter the type, whether electric or combustion engine based.

In recent years, technology has been advancing, yet accidents occur far too often. There is a need for ways to implement technology to assist drivers to avoid or reduce accidents.

It is in this context that embodiments of the invention arise.

SUMMARY

Methods, computer systems, and servers for processing collision avoidance feedback to vehicles using vehicle-to-vehicle wireless communication, are provided.

A system for navigating a vehicle automatically from a current location to a destination location without a human operator is provided. The system of the vehicle includes a global positioning system (GPS) for identifying a vehicle location and a communications system for communicating with a server of a cloud system. The server is configured to identify that the vehicle location is near or at a parking location. The communications system is configured to receive mapping data for the parking location from the server, and the mapping data is at least in part used to find a path at the parking location to avoid a collision of the vehicle with at least one physical object when the vehicle is automatically moved at the parking location. The mapping data is processed by electronics of the vehicle so that when the vehicle is automatically moved collision with the at least one physical object is avoided and the electronics of the vehicle is configured to process a combination of sensor data obtained by sensors of the vehicle. The processing of the sensor data uses image data obtained from one or more cameras and light data obtained from one or more optical sensors.

In one embodiment, methods and systems are disclosed for vehicles configured for performing a self-parking operation without a human operator. The vehicle includes an on-board computer for receiving a wireless signal from a portable device. The wireless signal is configured to instruct the on-board computer to perform the self-parking operation. The on-board computer of the vehicle is configured for processing instructions to communicate with sensors of the vehicle, and the sensors are located along a front and a rear of the vehicle, and the sensors along the front and the rear include a combination of one or more cameras and ultrasonic sensors. The on-board computer is configured for receiving data from the combination of said one or more cameras and said ultrasonic sensors. The on-board computer is configured for determining that a space in front of said vehicle is clear to enable movement of the vehicle using said data from the combination of said camera and said ultrasonic sensors from said front of the vehicle. The on-board computer enabling the vehicle for movement forward toward a parking space, and while said vehicle is moving, continuing to determine that the space in front of said vehicle remains clear as the vehicle continues to move toward the parking space and stopping said movement while the space is determined to not be clear by way of a detected obstacle along a path of said movement. The on-board computer stops said vehicle upon detecting that the vehicle has arrived at a destination location for parking of said vehicle.

The electronics of the vehicle is configured to initiate control of the vehicle to automatically move the vehicle from the current location to the destination location at the parking location. The electronics of the vehicle is configured to continually use the vehicle location obtained from GPS while processing the combination of sensor data while the vehicle is moved along the path. The electronics of the vehicle is configured to automatically stop movement of the vehicle when an obstacle is identified to be in a way of the path and automatically resume movement of the vehicle when the obstacle is no longer identified to be in the way of the path.

In one embodiment, a method for navigating a vehicle automatically from a current location to a destination location without a human operator is provided. The method includes identifying a vehicle location using global positioning system (GPS) data regarding the vehicle. Also included is identifying that the vehicle location is near or at a parking location. Then, using mapping data defined for the parking location. The mapping data at least in part is used to find a path at the parking location to avoid a collision of the vehicle with at least one physical structure when the vehicle is automatically moved at the parking location. The method includes instructing the electronics of the vehicle to proceed with controlling the vehicle to automatically move from the current location to the destination location at the parking location. The electronics use as input at least part of the mapping data and sensor data collected from around the vehicle by at least two vehicle sensors. The path is configured to be updatable dynamically based on changes in the destination location or changes along the path. The destination location is a parking spot for the vehicle at the parking location.

In one embodiment, a method for navigating a vehicle automatically from a current location to a destination location with or without a human operator is provided. The method includes receiving a vehicle location, determining if the vehicle location is near a self-park location and determining if the vehicle is proximate the self-park location for a threshold period of time that is indicative of the vehicle desiring to enter the self-park location. The method includes accessing mapping data for the self-park location and receiving a request to initiate a self-park process for the vehicle. The method also includes instructing the vehicle to proceed with the self-park process. The self-park process acting to enable the vehicle to automatically move from a current location to a destination location within the self-park location. The current location and the destination location are updated dynamically as the current location of the vehicle changes and based on conditions of the destination location.

In some embodiment, the self-parking location includes a plurality of sensors, each of the sensors being associated to physical locations in the self-parking location, and selected ones of the sensors monitoring a volume of space to detect changes.

In some embodiment, the changes in the volume space include presence or lack of presence of objects over time.

In some embodiment, the objects present in the volume space include one of humans, pets, vehicles, or objects determined to be other than free space for the vehicle to move, park or traverse.

In some embodiment, the sensors of the self-parking location include sensors of one or more vehicles located in the self-parking location.

In some embodiment, the self-park location is one of a parking garage, a parking lot, a private property area, a garage and drive-way, a private resistance, a public location, or a combination of private and public spaces.

In some embodiment, instructing the vehicle to proceed with the self-park process is initiated via a remote computing device, and the remote computing device is a computing device that is either portable or not portable and the computing device has access to the Internet to communicate with cloud services, the cloud services including an account for users to register their vehicles and access historical data and set control data for the registered vehicles.

In another embodiment, a method includes detecting proximity separation between a first vehicle and a second vehicle. At least one of the sensors of the first vehicle or the second vehicle used to determine that a proximity separation is less than a threshold distance. A pairing algorithm is triggered between electronics of the first and second vehicle to enable direct communication for data exchange between the first and second vehicles. The method includes triggering a warning to one or both of the first and second vehicles if the data exchange determines that a probability exists that a heading of the first or second vehicles will result in a collision between the first and second vehicles. The method may initiate corrective action by one or both of the first or second vehicles if the data exchange between the first and second vehicles increase the probability that the heading will result in a collision between the first and second vehicles.

In some embodiments, the second vehicle is either moving or stationary.

In some embodiments, the wireless communication includes automatically pairing for communication between the first and second vehicles, the pairing being for a temporary period of time while the first vehicle is within the separation distance of the second vehicle.

In some embodiments, the wireless communication includes short form communication, or peer-to-peer communication, or Wi-Fi communication, or NFC communication, or Bluetooth communication.

In some embodiments, further included is detecting additional vehicles within the proximity separation of the first vehicle, and tracking the speed and heading of the additional vehicles relative to the first vehicle to determine if the warning or corrective action is to be executed.

In some embodiments, the exchange of data occurs during a period of time when the second vehicle or any one of the additional vehicles are within the proximity separation.

In some embodiments, further included is detecting that the second vehicle is within a proximity separation of the first vehicle uses sensor data, the sensor data obtained from the sensors of either the first and second vehicles, the sensors include global positioning sensors, or audio sensors, or camera sensors, or ultrasonic sensors, or infrared (IR) sensors, or combinations of two or more thereof.

In some embodiments, the electronics of each of the first and second vehicles include a network interface to enable the wireless communication, wherein at least one of the network interfaces communicate with a process executed by respective electronics, the process is configured to manage a table that stores metrics of the first or second vehicles, the metrics include at least speed and heading of vehicles within the proximity distance, the table is configured to be updated over time based on which vehicles are within the proximity separation.

In one embodiment, a method for providing collision avoidance feedback to vehicles is provided. Electronics are incorporated in a first vehicle that receives input from at least one sensor of the first vehicle and electronics that are incorporated in a second vehicle receive input from at least one sensor of the second vehicle. The method includes detecting proximity separation between the first and second vehicle, wherein when at least one of the sensors of the first vehicle or the second vehicle determine that the proximity separation is less than a threshold distance, a pairing algorithm is triggered between the electronics of the first and second vehicle to enable direct communication for data exchange between the first and second vehicles. The method also includes triggering a warning to one or both of the first and second vehicles if the data exchange determines that a probability exists that a current heading of the first or second vehicles will result in a collision between the first and second vehicles. The method then initiates a corrective action by one or both of the first or second vehicles if the data exchange between the first and second vehicles increase the probability that the current heading will result in a collision between the first and second vehicles.

In some embodiments, the warning is supplied to either the first or second vehicles in an output form to alert a human occupant in the vehicles.

In some embodiments, the warning includes one of a sound warning, an audio spoken sound, tactile feedback to a component of the vehicle, light signals within the vehicle, or a combination of one or more thereof.

In some embodiments, the corrective action includes application of brakes, application of auto-turning a steering while, a switch to auto-drive mode, acceleration, acceleration and deceleration, or combinations of one or more thereof.

In some embodiments, detecting proximity separation includes detecting moving objects; the moving objects include the first and second vehicles or the vehicles and a non-vehicle physical object.

In some embodiments, the pairing algorithm enables short form communication, the communication includes a peer-to-peer communication, Wi-Fi communication, NFC communication, or Bluetooth communication, or wireless communication.

Some embodiments further include storing a history event log of occurrences and actions taken when triggering a warning or taking corrective action, the history event log being communicated over the Internet to cloud processing systems for remote storage and remote access.

Some embodiments further include, triggering recording of audio and video surrounding the first or second vehicle when it is determined that the probability exists that the current heading of the first or second vehicles will result in the collision; and transmitting the recording over the Internet to cloud processing systems for remote storage and remote access.

In some embodiments, a notification regarding the recording is forwarded to one or more predetermined recipients, to an account of a user, to an account of a rental car company, to an account of a service provider, wherein the notification is one of an email, a text message, a social network message, a phone call, an audio alert, an audio/visual alert.

In some embodiments, the notification includes a clip of the recording or access to the recording on the remote storage via access to an account user name and password.

In some embodiments, the notification is sent to an insurance broker if it's determined that a collision actually occurred, or enables user permissions for sending to the insurance broker or third party.

In some embodiments, the notification for when a collision actually occurs includes data regarding a heading, or speed, or weather conditions, or video clips, or license plate images, or person identification data, or combinations thereof.

DRAWINGS

FIGS. 1 and 2 show examples of a garage where automated parking can occur or a vehicle and communications with cloud processing, in accordance with some embodiments.

FIGS. 3 and 4 show examples of a vehicle moving to a parking location and associated mapping data for the location, in accordance with some embodiments.

FIG. 5 illustrates a vehicle moving from a current location to a destination location, in accordance with some embodiments.

FIG. 6 illustrates exchanges of data for a location and cloud processing services, in accordance with some embodiments.

FIG. 7 illustrates an example of vehicles moving in proximity to parking locations, in accordance with some embodiments.

FIG. 8 illustrates data and processing that may be executed or stored in cloud processing, in accordance with some embodiments.

FIG. 9 illustrates a vehicle communication with cloud processing and a user also communicating with cloud processing via a portable device, in accordance with some embodiments.

FIG. 10 illustrates cloud processing providing parking location data, locator data for parking spots, locators near specific locations, and the like, in accordance with some embodiments.

FIGS. 11 and 12 show vehicles in range of various parking locations, in accordance with some embodiments.

FIG. 13 shows example data regarding parking locations and vehicle data, and processing therefor, in accordance with some embodiments.

FIGS. 14-16C illustrate examples of communication between cloud processing, locations and vehicles, in accordance with some embodiments.

FIG. 17 illustrates a reservation system, logic for processing and networked services, in accordance with some embodiments.

FIG. 18 shows a collection of vehicles all having independent headings, speed and location. Each of the vehicles shown has the ability to become aware of all of the other vehicles within a range.

FIG. 19 shows one vehicle, Car 1, communicating wirelessly with other cars around the position of Carl, in one embodiment.

FIG. 20 shows an instance of an asynchronous network in which all vehicles within a certain communication range can “talk” to each other using the same protocol.

FIG. 21 shows an example system with interfaces, data storage structures, sensor inputs, algorithms and vehicle control systems used in collision avoidance on board each vehicle, in accordance with one embodiment.

FIG. 22 illustrates one example of metrics data that can be obtained by a transportation vehicle (TV), and communication to and from other networked TVs, in accordance with one embodiment of the present invention.

DETAILED EMBODIMENTS

Disclosed are embodiments that enable vehicle-to-vehicle communication for enabling avoidance of accidents and/or for triggering warnings to avoid accidents.

A number of embodiments are described below, with reference to specific implementations that refer to vehicles, but such implementations should be broadly construed to include any type of vehicle, structure or object. Without limitation, vehicles can include any type of moving object that can be steered, and can include vehicles that are for human occupancy or not. Vehicles can include those that are privately owned, owned by corporations, commercially operated vehicles, such as buses, automobiles, trucks, cars, buses, trains, trolleys, etc. Example vehicles can include those that are combustion engine based, electric engine (EV) based, hybrids, or other types of energy source vehicles. In some embodiment, vehicles can be fully driverless or the vehicle can operation partially driverless. The term driverless should be understood to include cases where a driver is in the driver's seat, yet, some action by the car is taken place without the person's direct control. In other cases, the vehicle can be unoccupied, and if the vehicle is made to move automatically, this can also qualify as a driverless action, function, operation or action.

In one embodiment, a method includes detecting proximity separation between a first vehicle and a second vehicle. At least one of the sensors of the first vehicle or the second vehicle determine that a proximity separation is less than a threshold distance. A pairing algorithm is triggered between electronics of the first and second vehicle to enable direct communication for data exchange between the first and second vehicles. The method includes triggering a warning to one or both of the first and second vehicles if the data exchange determines that a probability exists that a heading of the first or second vehicles will result in a collision between the first and second vehicles. The method may initiate corrective action by one or both of the first or second vehicles if the data exchange between the first and second vehicles increase the probability that the heading will result in a collision between the first and second vehicles.

In another one embodiment, structures described herein can include parking structures, parking lots, private or commercial buildings, a drive-through, bridges, toll roads, highways, shared or home driveways, designated driving and parking areas. In the specific embodiments described herein, vehicles, structures and objects will include circuitry and communication logic to enable communication with a cloud processing system over the Internet. A cloud processing system, as described herein, will include systems that are operated and connected to the Internet or to each other using local networking communication protocols.

A cloud processing system can be defined as an interconnected and distributed physical or virtual software defined network that utilizes virtual or physical processing and storage machines that enable various applications and operating systems to facilitate the communication with and between various client devices (vehicles, user devices, structures, objects etc.). The communication with and between the various client devices will enable the cloud processing system to deliver additional processing information, data, and real-time metrics concerning data obtained from other processing systems as well as client feedback data. The distributed nature of the cloud processing system will enable users of various vehicles, structures and objects to access the Internet, and be presented with more flexible processing power that will provide the requested services in a more effective manner.

The processing systems can be defined from various data centers that include multiple computing systems that provide the processing power to execute one or more computer readable programs. The processing of the computer readable programs can produce operations that can respond to requests made by other processing systems that may be local to a vehicle's electronic system. For example, a vehicle can include electronics that utilize memory and a processor to execute program instructions to provide services.

In one embodiment, the services provided by the electronic systems of a vehicle can include services that access the various components or subsystems of a vehicle, such as door locks, service histories, user profiles, audio settings, entertainment settings, mapping functions, communications systems, telecommunication synchronization systems, speakers, heating and cooling functions, auto-engine start/shut-off remotely via smart devices, remote heating/cooling initiation, remote face-to-face conferencing, etc. The electronic systems within a vehicle can also provide a user interface, such as a graphical user interface. The graphical user interface can include a plurality of buttons, controls and transceivers to receive input from a user. The input from a user can also be provided by voice input, facial recognition, eye-retina scan, finger print, or via a touchscreen contained or displayed within the vehicle.

In other embodiments, the electronics of a vehicle can synchronize with a user's portable electronics. The user's electronics can include, for example mobile devices that include smart phones, tablet computers, laptop computers, general-purpose computers, special purpose computers, gaming consoles, etc. The various computing devices of the vehicle, and or the computing devices of the user (smart devices) can be connected to the Internet or to each other. Provided that a user has access or account access to the cloud service, the cloud processing services on the Internet can provide additional processing information to the electronics of the vehicle. In the following embodiments, examples will be provided for ways of having the cloud processing services deliver processing information concerning various physical locations that have mapping data associated there with. The following embodiments will also provide examples of ways a cloud processing service, together with physical sensors, can allow vehicles, structures and objects to become aware of each other, share locations, measurements and mapping data, intended paths and other metrics along with remote administration of the same.

The mapping data associated with the various locations can include locations of objects in the real world. The objects in the real world can include roads, sidewalks, buildings, barriers, fencing, parking structures, walls or obstacles within a location, doors, positioning of walls, location information of other vehicles within a location, sensor data associated with various locations, mapping data that outlines the geometries of a building or vehicle, sensor location that is static and/or dynamic, area and volume information within buildings, structures or areas, sensors for detecting movement or presence of obstacles within a location, data identifying occupancy a specific locations such as parking structure parking spaces, etc. In one embodiment, vehicles can be fully driverless or the vehicle can operation partially driverless. For instance, a partially driverless car is one that may still have a driver or occupant in a position to control/navigate the vehicle (e.g., in the driver's seat), but some movement or control will be carried out by the automation of the vehicle. In an example of a parking operation, the driver may remain in the vehicle during some or part of the driverless actions of the vehicle, and the driver can (if needed) interrupt (e.g., override) the actions automated actions of the vehicle. It should therefore be understood that any mention of driverless vehicles or actions can, in some embodiments, still include a person within the vehicle (whether in full or partial control of the vehicle).

In one embodiment, the sensors of the building, showing the outline of the building can provide data of what spaces are available within a designated parking area for example. When a vehicle reaches a building, parking lot, parking designated area of ad-hoc parking lot where auto-park is available, the vehicle will become aware of the availability of non-human operated auto parking and will transfer and receive information to and from the cloud to download and/or access the building's location and map of sensors. When a vehicle reaches a different auto-park location, it will download that particular map. The map will only be downloaded or accessed when it is determined that the vehicle desires to enter the parking structure either by crossing a proximity threshold of by election of the vehicle's operator. Thus, a threshold of time or proximity can be determined before the car gets the mapping information for the given location. For example, if a vehicle is parked near the entrance of a parking structure (determined automatically by the GPS of a vehicle and the GPS of parking structure), this proximity produces a type of optional “paring” with the garage location which a vehicle operator can elect to enter using a physical or remote cloud connected interface to select an outcome.

In one embodiment, vehicles can maintain valuable information regarding where they are, where they are heading and their destination maintained which is maintained by GPS and navigation systems on board. The information collected and maintained by every vehicle is mutually exclusive, meaning that only each individual vehicle is aware of its own heading, rate of speed and current location. This information, on one embodiment is crowd sourced and crowd shared/consumed for use in for accident avoidance. By networking vehicles within a certain radius together, all individually location-aware vehicles become also aware of all other vehicles in their sphere of influence. Every vehicle will network with vehicles in their range using wireless communication systems such as but not limited to Wi-Fi, Wi-Gig LTE, cellular, radio, near field communication or other methods.

In one embodiment, each vehicle will maintain a table of all other vehicles in, entering, and or leaving its sphere of influence. In some embodiments, all or some of the vehicle will maintain and continuously share its own heading, speed and location. In one embodiment, an algorithm on each vehicle will continuously compare the current vehicle's speed, heading and location with that of all other vehicles in its sphere of influence to determine if a collision may result.

A vehicle collision is not a single event; it is the intersection that happens between two vehicles having intended paths, headings, and speeds that perfectly collide at some point in the future if course correction is not taken. Thus, an algorithm may be able to predict the probability of a future collision where a human may not, and alert the driver to alter heading and/or speed. The system will have the ability to enact passive and active accident avoidance vehicle maneuvers in proactive action to an imminent collision.

The system may alert the drivers to change their rate of speed, heading, or location. The system may give each of the two driver's custom messages such as telling both drivers to veer right so they don't steer into each other. The vehicle may also automatically provide audio and or visual alerts such as honking the horn or flashing headlights to alert the other driver. Active accident avoidance may engage if certain collision is immanent within a certain threshold such as within the next 50 ft for example. In this case, both vehicles, being aware of each other, will engage in an automatic and complementary accident avoidance maneuver such as slowing down, steering away from impact and or both. The vehicle may engage secondary methods of identifying imminent collision such as radar, sonar, infrared or other secondary object identification method to ensure the predicted collision is not a false alarm.

The vehicle's cameras can be engaged to take still photos and or video record any incident, whether it results in a successful avoidance or impact. This footage can be used to alert authorities of the severity of the accident and aid insurance companies in identifying fault. A vehicle will maintain a buffer of events for a given amount of time before and after a collision event or collision avoidance event such as the location, speed, heading, and avoidance measures to store and identify the metrics that lead to an incident.

This system described above can be used not only between two vehicles for the purpose of accident or collision avoidance, but can also be used between a vehicle and an object, a vehicle and a moving object, a vehicle and a structure as well as a combination of vehicles, objects and structures. The methods for accident avoidance between two vehicles can be extended for use in automated vehicle maneuvering. This maneuvering includes but is not limited to negotiating obstacles, structures, parking lots, drive ways, toll roads, highways, drive-thru, etc. These obstacles, can be physical or virtual where a vehicle might interpret a virtual boundary of an object or parking spot for instance as being real and thus having to maneuver in, on or around it for the purposes of collision avoidance, parking or automated vehicle storage.

Vehicle storage can be automated at physical static locations or can be deployed manually in an ad-hoc manner with the use of portable sensors that emit a signal to network connected devices, vehicles, objects and structures transmitting metrics and dimensions the sensor is virtualizing at that given moment. For instance, a sensor can be set up to communicate with a vehicle that it represents a parking spot. This parking spot can transmit information about it such as what type or spot it is, its dimensions, its availability, if it has a charging station incorporated into it, scheduling, availability as well as on the fly booking of the spot for parking time, charging time etc. either remotely or within a proximity threshold by a user in or around their vehicle or remotely.

FIG. 1 illustrates an example of a location, such as garage 100 having a plurality of sensors S1 through S12. The sensors are located in various locations within the garage 100. The sensors provide mapping information of the physical structures within the garage 100. This mapping information provided by the garage 100 (or cloud system database of the garage 100) can be transmitted to vehicles that will then be allowed to traverse the garage 100. The vehicle will also now be informed of the specific locations of the objects within the garage 100 or of the garage 100 itself to dynamically and actively avoid collision with the structure's physical obstructions. As shown, the garage 100 will also be in communication with a global positioning system (GPS) 102, which assigns garage 100 GPS a location as well as a set of locations which can be used in mapping outlines of the structure. The GPS locations can be assigned to the garage 100, or to various locations within the garage. For example, GPS coordinates can be assigned to each of the sensors S1-S12 of garage 100 or to the entire structure itself. In one embodiment, the GPS coordinates of each of the sensors may be approximated, due to a potential offset of the sensor's actual GPS coordinates due to interference, weather, malfunction etc. This offset can be calibrated for each of the sensors, such that the actual location of the sensors can be associated or dynamically corrected for the GPS coordinates assigned to each of the sensors.

In one embodiment every time a vehicle receives coordinates to the location of a certain sensor, the vehicle will travers towards that sensor and verify through the use of ad-hoc networking, sonar, infrared, radar or other method that the location given to the vehicle of the sensor matches its physical location. If the actual physical location of the sensor does not match the coordinates furnished to the vehicle, the vehicle will report back to the cloud processing system in order to correct the coordinates for transmission to the next auto-traversing vehicle. This will provide a vehicles traversing within garage 100 with more accurate identification and location of obstacles within garage 100. Without correcting the GPS coordinates, it is possible that a vehicle will come into in appropriate contact with an object within garage 100. In other embodiments, each of the sensors S1-S12 will be calibrated to a GPS location, and the calibration can also be assigned to the GPS location of the vehicle traversing within or here or approaching garage 100.

In the example shown, a vehicle v1 is shown entering garage 100, and another vehicle v2 is shown driving along a path to a desired or assigned parking location. As shown, other vehicles v3-v4 may already be located within garage 100. In one embodiment, each of the vehicles will also have sensors that will alert the cloud processing of their location when another vehicle or object approaches that particular vehicle. Thus, the movement of vehicle v2 and the location of vehicles v3-v5 will be known to the cloud processing system and all vehicles (or those enabled for communication) within the given range will also be aware of each other. As such, the system uses a combination of sensors located in garage 100 as well as sensors located on vehicles themselves to aid vehicles in traversing the garage 100 or maneuvering around obstacles as well as vehicles already stationed or moving about garage 100. In one embodiment, each of the vehicles within garage 100, whether the vehicle is turned on or turned off, will still be able to provide location and or sensor data to the cloud processing system 120. Sensors within garage 100 can also include information concerning the volume or areas of individual parking designated physical or virtual spots within garage 100. This additional sensor data can be transferred to a sensor data processor 104 of garage 100. Sensor data processor 104 can communicate that information to cloud processing 120 via a wireless router 106, or other suitable wired or wireless communication system that allows connection between garage 100 and the Internet.

As shown, vehicle location data 108 of each of the vehicles, structures or objects that are proximate the garage 100 can communicate their location data to cloud processing 120 so that information concerning the garage 100. Sensors that are fixed as well as sensors within garage 100 can locate- or identify moving objects which can be communicated to the cloud processing system along with data of the vehicle location data 108. Vehicle control data 110 can also be provided to cloud processing 120. Vehicle control data can include information that is provided to a specific vehicle to directing that vehicle to park. For example, if garage 100 enables automatic vehicle parking, such as parking operations that do not involve the human to drive the vehicle, that vehicle can be provided with vehicle control data 110. Vehicle control data 110 can be provided via cloud processing 120 to any specific vehicle.

Information provided to a specific vehicle can include, for example, an operator of the garage 100 enabling a user to select or identify a desired parking location for the vehicle in garage 100. In one embodiment, a user may approach garage 100 and desires to park his or her vehicle in garage 100. At the entrance of garage 100, the user can identify a parking space for the vehicle and then exit the vehicle. The vehicle is then automatically moved to the desired or specific parking spot identified either by the vehicle's user or by a garage 100 operator. In one embodiment, the vehicle user approaches the garage 100 while operating the vehicle. When the vehicle's GPS detects that the vehicle may be in proximity to garage 100, mapping data associated with garage 100 is downloaded or made accessible to the vehicle's electronics. The vehicle's electronics will become aware of the mapping data for garage 100. The vehicle's user may then choose to program the vehicle to automatically park using a graphical user display in the vehicle. Similarly, the user may elect to program the vehicle to automatically park using a smart network connected device (smart phone, tablet, computer, etc.). Once programed by the vehicle user, the vehicle can proceed to automatically move to the desired parking spot or a parking spot that the garage 100 designates for that vehicle.

For example, the user may wish to have the car parked in a VIP area of garage 100. If the vehicle's owner selects the VIP area, or is granted access to VIP areas, the vehicle may be parked in a more convenient location within garage 100. The parking slots in garage 100 can be monitored with sensors to identify which parking spots are available. When the user provides a parking location preference election at the entrance of garage 100, the vehicle will proceed to park in garage 100 at the desired location automatically. In one embodiment, garage 100 may have a plurality of floors or levels. The vehicle can now traverse automatically to a specific floor and find the parking spot at which the vehicle will be stationed.

Since a multi-floor or multi-level parking garage has a height, simple LAT, LONG GPS coordinates alone cannot aid the vehicle in traversing vertically to the desired floor. Thus, the aid of additional sensors in conjunction with GPS can aid the vehicle in negotiating the parking garage's obstructions, levels, and parking slot locations. This information can be obtained by rules or databases provided by garage 100 to the vehicle, and the direction or vehicle control data 110 can be provided by the user of the vehicle who desires to have the vehicle parked in garage 100.

FIG. 2 illustrates an example of data and data sources that can communicate with a cloud processing 120. Example data can include vehicle position data 162 which can include data of moving objects relative to local sensors. For example, the data can include how fast the vehicle is moving 150 when the vehicle moves past specific sensors located within garage 100. Local sensor data 152 of the vehicle can also be used to provide vehicle position 162. Local sensor data 152 can also include sensor data from other vehicles that may be stationed within garage 100. This local sensor data can also include sensor data of other vehicles that may be moving within garage 100, for example, the heading, speed, and other coordinates of vehicles that may be moving in proximity to other vehicles.

By using this information, it is possible to define rules that avoid vehicle collisions when a plurality of vehicles are in proximate thresholds of one another in garages or locations that allow self-parking or self-moving of vehicles without human drivers. GPS data 154 can also become indicated to identify vehicle position 162, as described above. GPS data can be location GPS data from one or more GPS satellites. The GPS data can also be obtained for moving objects or structures 160. Vehicle movement directions 164 can also be identified or communicated between the vehicle position 162 data based on human operated vehicles 166, and automatic remote driving 168 vehicles. Cloud processing 120 will also provide easy communication for user 180. User 180 can be using a mobile device 103 to communicate with cloud processing 120. For example, an application on a mobile device 103 can communicate with cloud processing 120, which in turn will enable the user to select that the vehicle perform self-parking operations, can pay for parking privileges, can be provided with notifications of the location of the vehicle that has been parked in garage 100, and can be provided notifications or information when the vehicle is moved within garage 100. User 180 can also access cloud processing 120 from any computer connected to the Internet, which will allow the user to view status reports regarding the user's vehicle, including when the vehicle is automatically driving itself, its current position, a history of its locations at any given time, its status when located within the parking structure or location, etc.

FIG. 3 illustrates an example of location A 250, in accordance with one embodiment of the present invention. In this example, a partial view of a parking structure is shown, where a plurality of zones within the parking structure are identified. The zones are identified as zones a-l. The zones can be identified in terms of their volume, or 2 dimensional space. The sensors can include audio sensors, visual sensors such as cameras, ultrasonic sensors, IR sensors, etc. Any of these sensors can provide details regarding whether the location includes an object, identifies the object, identifies a moving object, identifies an object that should be in that location, identifies an object that should not be that location, logs information regarding objects in specific locations, etc. In this example, a vehicle v3 is moving from a current location to a destination location. The destination location is a parking space in zone C.

Various sensors S1, S2, S3, S4, S5, are located throughout location A. Specific locations shown for the sensors is not important, as the sensors can be located in any location, whether to identify volumes of space, weight of vehicles, presence of vehicles, presence of humans, presence of pets, presence of other vehicles, presence of other vehicles moving, relative movement of vehicles or objects, etc. As the vehicle moves and traverses a path, a human 200 is shown to be located in zone f.

This information is provided to cloud processing 120 and such information can assist in stopping the vehicle from colliding with human 200. In one embodiment, cloud processing 120 may communicate with one or all of the fixed sensors of location A, some of the fixed sensors, data produced by the sensors, data produced by other vehicles within the location, information generated by the moving vehicle that is traversing between the current location and destination location, etc. This information is being communicated and exchanged with cloud processing 120, as each vehicle will include processing power as noted above to communicate over the Internet concerning its location, its movement, its relative movement other vehicles, and a programmed path which the vehicle is to traverse.

FIG. 4 illustrates an example of information 202 that includes mapping data 210 for location A, in accordance with one example of the present invention. In this example, mapping data 210 can include, without limitation various information metrics, including building outline, sensor locations, coordinates of sensors, GPS data for sensors, GPS data for location A, correction data for calibrated GPS locations of sensors, etc. In addition, the very sensor locations can include fixed structures, such as structures X and Y. These structures would be static structures within the location. The sensor locations can also identify following areas, such as volume areas a-l. As mentioned above, the volume areas can produce dynamic data, as information regarding what is present in those specific volume areas changes over time, including changes occurring while vehicles are in progress in their move between a current location and destination location.

These dynamic changes are in important to continuously monitor and update back to cloud processing 120, so that cloud processing 120 can communicate updates to the vehicle in substantial real-time. Also shown are sensor location alerts. Alerts can include alerts to the operator of a specific location (for example the parking garage attendant), the owner the vehicle, or another process that automatically terminates movement of the vehicle when an obstacle is presented. Various rules and databases can be accessed to determine what actions vehicles can take or should take when specific obstacles are encountered, and when the vehicle can resume movement after encountering such an obstacle. Tracking when the obstacles are encountered and where they are encountered can also be utilized to define metrics for specific locations. For example, if certain locations produce a lot of alerts, that location needs to improve its management of space to avoid accidents.

The tracking can also be used to generate reports/notifications that are produced and distributed to safety coordinating officers of specific locations (or vehicle owners), or to identify information that occurred before or after an accident or incident at a specific location such as a vehicle collision, vehicle theft of attempted theft, robbery, attempted robbery as well as panic situations during crimes. These alerts can also be provided with historical data associated with the alerts. The historical data can include images taken by cameras of the specific locations where the alerts occurred. The images can be videos, video clips, still images, collection of still images, audio files, audio snippets, that are accessible instantly over cloud processing 120.

This information can also be accessible via cloud processing 120 after a specific incident is reported. For example, if a burglary or crime occurred within the location, the sensor data of the location as well as the sensor data of the vehicles can be coordinated to identify when and who traversed specific locations within the area. In one embodiment, the collected data can be partitioned to allow certain data to be shared with the owner of the vehicle and certain data to be restricted to the owner or operator of the location where the vehicle is self-parked.

FIG. 5 illustrates an example where each of the vehicles parked in the location 250 can include sensor data. The sensor data for vehicles v1 and v2 are shown as slight outlines around the vehicle. In this example, these vehicles are parked in spaces b and d. As vehicle v3 moves along a path to a destination location, the sensors of the parked vehicles v1 and v2 are also utilized by the cloud processing system 120, along with data from sensors of moving vehicle v3, to avoid collisions with vehicles within location 250. For example, if any of the parked vehicles were to begin to move, that information can also be used in conjunction with the information of the 1st moving vehicle, thus avoiding a potential collision when the vehicles are in self-drive mode. Incidentally, the sensor information is also utilized or be useful to prevent accidents when the vehicles are being used or driven by humans. Accordingly, the sensor information described herein, and if synchronization with cloud processing system should not be limited to self-driving vehicles, but can also be applied to any vehicle that is being driven to avoid collisions between the vehicles when there is between self-driving and self-driving, or human driven and self-driving.

FIG. 6 illustrates an example of the types of data that can be provided and associated with a location A to generate mapping data for that location. In this example, without limitation, various pieces of data can be communicated or associated to a location. For example, building outline data 302, sensor locations 304, coordinates of sensor locations 306, GPS data for sensors 308 and any calibration data, GPS data for locations 310, sensor data from other vehicles (which may be dynamic as vehicles move or are stationary) 312. This information can be associated to define the mapping data of a location 210. Cloud processing systems 120 can then receive the mapping data 210 to enable execution of requests for self-parking. For example, a user using a mobile device can instruct or request that a vehicle begin a self-parking operation. For example, if the user drives up to a parking structure or garage, and then selects on their mobile device to park the vehicle, the vehicle will communicate with the cloud processing system and instruct the vehicle on how to proceed to park the vehicle within the parking structure by maneuvering and negotiating obstructions.

The cloud processing system can therefore provide parking instructions to the vehicle (for example vehicle v3) that is to be parked and location A 250. The instructions can include how to move the vehicle within the parking structure, or simply provide the mapping data of the vehicle to allow electronics within the vehicle to traverse the vehicle within the location. In other embodiments, the information as to how to move the vehicle within a specific structure may be governed by specific rules of the specific structure. For example, specific structures may require the vehicles being told to park can only move at 5 miles an hour. In other embodiments, the cloud processing system can be provided with a range of speeds that can be dictated to specific vehicles for specific locations. Therefore, a set of rules is exchanged between the cloud processing system and a specific location.

In one embodiment, when a user decides to park a vehicle in a parking location, that parking location may be a registered parking location with cloud processing systems. By being registered, any number of vehicles that also have access to cloud processing systems and have an account can enable users to park using some park algorithms for the specific parking locations. By being a registered parking location that accepts self-driving parking vehicles, the registered parking location can send rules back to the cloud processing system to dictate where and how and at what speeds vehicles shall be parked within the location. Duration of parking within the location can also be communicated back to the cloud processing system as well as the fee charged to the user for time parked within a parking structure.

A user's account can be debited automatically, such as using an e-commerce debit system once the vehicle has been parked in a specific location. Notifications to the user can also be provided when the user has parked at a specific location, such as time in, time out and duration of park at a specific location as well as any associated charges and overtime fees. The user can also be provided with an application interface that allows the user to extend the time of parking, and pay for extended periods of parking within a location or set up automatic parking fee renewals to avoid expired meters for instance. The user can also provide cloud processing systems with rules for how the vehicle shall be moved within the location. For example, the user may wish that the automatic park system only move the vehicle at 3 miles an hour. In this embodiment the user can set the speed at which the vehicle can be auto parked. In other embodiments, rules between the parking location, the cloud processing system, and those set by the user can be synchronized or sorted out to define the appropriate speed, location of parking, and other parameters for moving a vehicle using self-driving techniques.

FIG. 7 shows an example where a vehicle has entered a proximity zone around a specific location, and the vehicle has communicated with cloud processing 210 as well as the location. In this example, if the vehicle enters the proximity of a specific location, that vehicle will be provided with mapping data of that location. In one embodiment, the mapping data can include the data associated with the location such as the coordinates of the physical structures, and/or moving objects within a location. However, the mapping data can be simply made accessible to the vehicle, without downloading.

In either case, the vehicle will not need the mapping data for all locations at all times, and the mapping data for specific locations will be made available when the vehicle enters the proximity zone around the location. Thus, if the user driving the vehicle is far from a specific location, the mapping data for that location will not be made accessible to that vehicle. In other embodiments, when the vehicle has entered the proximity zone around a location, and that vehicle is in that proximity zone for a threshold period of time, the mapping data will be made available or downloaded to the vehicle. For example, if the vehicle has entered the proximity location of a location for at least 2 min., then the mapping data will be made available to that vehicles electronics system. In other embodiments, the threshold period can vary and can be set by the cloud processing system. Examples can include a threshold of 10 seconds, 20 seconds, 30 seconds, 1 min., 3 min., 4 min., 10 min., etc.

FIG. 8 illustrates an example of cloud processing 120, where databases holding data of location with self-park functions 402 can be monitored and managed. In one embodiment, the various locations and sets of GPS location information can be stored in a database, and that data can be updated with location data updating 404. Varies examples of data updates are provided in FIG. 8, and such information can be uploaded to or made accessible to the various databases. As noted above, the databases and processing can be managed in a distributed processing fashion. The distributed processing can be across multiple geographic locations, multiple data centers, multiple virtual machine processing systems, etc. In one embodiment, cloud processing 120 can include logic for vehicle park request handlers 406, GPS data vehicles requesting self-park 408, vehicle and location proximity detection 410, proximity threshold detection 412, etc. This information can then be synchronized with mapping data of the various locations and the mapping data can then be communicated to the various vehicles when the mapping data is needed by the various vehicles.

FIG. 9 illustrates an example where cloud services 120 forwards mapping data for location A to a vehicle, and the vehicle electronics 450 receives the information. This information will be communicated to the vehicle continuously, at certain times, or on demand. In one embodiment, the vehicle electronics will also include the Internet communication protocols and systems to maintain wireless connectivity during movement of the vehicle, or when the vehicle is stationary. In one example, the vehicle electronics can accept mapping data 210, which may be updated dynamically as noted above. The mapping data can be provided to the self-park controller 454 of the vehicle. Vehicle sensors 452 of the vehicle can be communicating data to the self-park controller as well as vehicle cameras. The vehicle cameras can also be obtaining data during, after or before the vehicle begins to move. The vehicle cameras can be located in all locations around the vehicle. The vehicle cameras can be located in the front, in the rear, under the vehicle, above the vehicle, to the sides of the vehicles etc. Other sensors the vehicle can include ultrasonic sensors, heat sensors, IR sensors, sound sensors, microphones, etc.

Other examples of sensors, biometric sensors, and systems, may include, for example, those described in co-pending application entitled “Methods and Systems for Setting and/or Assigning Advisor Accounts to Entities for Specific Vehicle Aspects and Cloud Management of Advisor Accounts”, having application Ser. No. 14/063,837, filed on Oct. 25, 2013, which is herein incorporated by reference.

In one embodiment, this data can be provided to the self-park controller 454 and the self-park controller 454 can communicate with the drive control 456. Drive control 456 can then communicate with the vehicle systems to move the vehicle to a desired location. As the vehicle moves, or the vehicle is stationary, specifications for 60 can be provided to the cloud server 120, to allow user 180 to view dynamic status updates concerning the vehicle at all times. A portable device 103 is shown being held by the user 180, but it should be understood that an type of device connected to the Internet and having access to cloud server can communicate with the vehicle to provide receive or send notifications or control to the vehicle.

FIG. 10 illustrates an example where various locations 402 provide status to cloud services system 120. In this example, the various locations are registered locations with cloud services, so that any vehicle can access any location and obtain information concerning the location, such as mapping data. In one embodiment, users may wish to get information, such as information helpful for finding a parking spot nearby. This information can be communicated by the vehicle electronics or a portable device of the user 103 to cloud services requesting if the current location has a parking space nearby the GPS coordinates of the vehicle. In another embodiment, a user needs to be in the vehicle to find open spaces near specific store or commercial location or mapped destination. In other embodiments, the user may wish to locate a coffee shop and find a space near the coffee shop. This information can also be obtained from cloud services, as the locations within 402 will hold information about what locations parking spots are open at any particular point in time.

In one embodiment, advertisers can also sponsor parking spots if users view an advertisement. In still other embodiments, advertisers can set up rewards for parking a certain locations, and the locations can be branded for the advertiser for a given period of time. For instance, advertising in a parking location can be digital, in the form of screens placed near and around the parking location. When a user for which an advertisement is destined enters the garage or moves around a parking location, the advertisement on the screen can be custom changed for that period of time when the user is near the screen or area of the parking location. Since the user's parking was sponsored by the advertiser, the user should expect to see advertising from that advertiser in and around the parking location.

FIG. 11 shows in one embodiment, a collection of vehicles, parking garages, parking queues, parking lots and ad-hoc parking areas 1100 all having independent headings, speed and location if applicable. In one embodiment, each of the vehicles, structures and objects shown have the ability to become aware of each other within a range 1102. Car 1, being one example, shows a sample radius of awareness around it. In this example, Car 1 is aware of Car 2, Car 4, Car 3, parking garage 2, and parking queue 2. Car 1 also keeps track of their heading, speed and location at any given time if applicable. Car 1 also knows that Car 2 is leaving Car 1's sphere of influence. Car 1 also knows that it is entering parking garage 2 and parking queue 2's sphere of influence.

Just as Car 1 is aware of all other vehicles, objects and structures around it, all other vehicles, objects and structures shown in this diagram 1100 may behave in the same manner. For instance, Car 1 is not only keeping track of all other vehicles, objects and structure in its vicinity, Car 1 may also be broadcasting its speed, heading and location information so all other cars, objects and structures in this diagram 1100 are aware of it as well. This system exists in the presence of a constantly networked environment where vehicles, objects and structures may communicate with each other with or without the use of a central processing system.

In some embodiments, the vehicles may establish peer-to-peer links to facilitate fast transfer of data. In other embodiments, vehicles may link to each other using pairing algorithms that allow the vehicles to exchange data using WiFi, Bluetooth, near field communication (NFC), or some other short range communication protocol.

FIG. 12 shows a system 1200 in which vehicles, parking structures 1204, lots 1202 and virtual ad hoc parking areas 1206 all communicating wirelessly with all other connected vehicles, structure and objects around it with the use of a networked and cloud processing system 120. In this example, Car 1 may be sending its heading, speed and location to all of the other vehicles, structures and objects within communication range, GPS coordinate location or network and also receiving every other vehicles, structure and object's heading, speed and location within communication range using the same methods.

The use of an asynchronous network in which all vehicles, structures and objects within a certain communication range can “talk” to each other using the same protocol may be employed. In this case, the protocol used can be Ethernet through wireless mediums such as 802.11a, b, n, ac, ad or any other wireless communication protocol.

FIG. 13 shows a sample system 1300 with interfaces, data storage structures, sensor inputs, algorithms and vehicle, structure or object control systems 1302 used in collision avoidance on board each vehicle. Each vehicle will have a network interface, which communicates with other vehicle's network interfaces or a central/distributed cloud processing system. Each vehicle will store all data coming in from other vehicles in communication range. In one embodiment, this set of data may be kept in a table of all or some of the metrics including but not limited to speeds, headings, locations, outlines, buffers, destinations, driving characteristics and acceleration if applicable. Similarly, each vehicle may maintain a table of its own metrics including but not limited to speed, heading, location, outlines, buffers, destination, driving characteristics and acceleration if applicable. This data (or selected data that the user approves for public sharing) may be passed to other vehicles using the network interface, which then communicates with other network interfaces directly or through an intermediary such as a cloud processing system, Internet, router, network switch or combination of methods etc.

The vehicle metrics and data may be collected using a variety of sensors including but not limited to optical sensors, mechanical sensors, and networked sensors among others. These sensors can emit data as well as collect data. For instance, a vehicle may be 5 feet wide by 10 feet long but in order to communicate its dimensions and outline to other vehicles sensors must be calibrated. These sensors can be calibrated on board the vehicle, remotely through a management system connected to a device connected to the internet or can be transmitted automatically from the manufacturer. The vehicle's dimensions can now be shared with other vehicles on the road in order to avoid collision. The sharing of this data can be in the form of shared moving object detection (MOD) data. Thus, not only is one vehicle aware of the MOD around its vicinity, the same vehicle can be provide data regarding nearby vehicles and their MOD data. Furthermore, buffers can be instituted in order to ensure that the vehicles outline is not breached but extra room is given around each vehicle to further collision avoidance effectiveness.

Each on board computer on each vehicle may use data coming in from other vehicles together from data captured by the vehicle itself to feed a collision detection and prediction algorithm. In one embodiment, this algorithm may activate a collision management system that interacts with the vehicles control systems including but not limited to audio alerts, visual alerts, horn, headlamps, steering, braking, tactile feedback on the steering while, tactile feedback on the driver's seat, video and camera recording, safety restraint systems, combinations thereof, etc.

The collision management system may engage any combination of active and/or passive collision avoidance maneuvers using the vehicle's control systems. For instance, if two vehicles are traveling on intended paths that will result in a head-on collision at some point in the future, the systems on both vehicles will calculate if an early warning will suffice. Each of the two vehicles will alert their corresponding driver via audio, tactile feedback near, on or proximate to the driver's body, a visual alert, or combinations thereof. If the drivers do not correct their intended path and a collision is still predicted by the algorithm, more aggressive systems will engage such as applying braking power, reducing speed, or steering the one or both vehicles away from each other or away from an obstacle.

FIG. 14 shows an example of a virtual parking location boundary sensor system in conjunction with other virtual parking location boundary sensors and vehicles 1400. A virtual parking location boundary sensor 1408 may be deployed in an ad-hoc fashion to provide automatic parking facilities in temporary locations or within existing static structures. Once activated, sensor 1408 can transmit data about itself to other sensors, vehicles, structures and/or objects. A sensor 1408 can be instructed to produce a virtual parking boundary of 10 feet by 15 feet to facilitate the parking of a large vehicle, or the boundary can be dynamically adjustable on demand. The same sensor 1408 can be calibrated remotely using cloud processing 120 to produce a virtual parking boundary of 10 feet by 40 feet for instance to accommodate a large commercial semi-truck. Sensor 1408 can be manually laid out in any fashion as to construct any parking lot as long as the virtual boundaries of each sensor do not overlap. In the event that two sensors 1408 are activated and their virtual boundary intersect, a visual and audio cue will be given to the operator to aid in sensor spacing automatically. Once the sensors are sufficiently placed where their virtual boundaries do not intersect, audio and visual cues will cease.

Sensor 1408 has the ability to communicate with sensor 1404 located on vehicle 1402 for instance for the purposes of guiding a vehicle in parking either manually or automatically self parking at the location boundary produced by the sensor 1408. Sensor 1408 may communicate directly with sensor 1404 or may use cloud processing 120 as an intermediary as well as a combination of the two methods.

FIG. 15 shows one embodiment of a system 1500 where a parking area 1506 may exist in conjunction with an automatic parking drop-off location 1502. Vehicles that are equipped to use auto parking facilities may use auto park drop off locations such as 1502 to exit their vehicle before their vehicle proceeds to automatically park itself in a given parking location. In this example, a vehicle B has the ability, through the use of it's communication sensor 1404, to communicate with cloud processing 120, parking location sensor 1504 and individual parking spot sensors 1408 as well as other vehicle's communication sensors (vehicle C in this case) in order to safely guide the automatically parking vehicle B without human interaction.

Using communications regarding mapping data, locations and other metrics, a vehicle can be guided automatically to either the next available virtual parking spot boundary 1512 being produced by a sensor 1408 or to a particular virtual parking spot boundary 1512 of the vehicle operator's choosing. This example shows vehicle B being automatically guided to a virtual parking spot boundary as it traverses a parking lot, parking garage, ad-hoc parking area, drive way or charging spot bank area 1506 while dynamically and constantly communicating with all structures, vehicles and obstructions around it and with the use of traversing instructions communicated to the vehicle. As vehicle B traverses to its final location within 1505, it dynamically and constantly provides feedback to all other dependent sensors and cloud processing systems.

In this example, a portable vehicle charging pad 1514 (or virtual pad) may be deployed and paired with any given sensor 1408 which is deployed to provide a virtual parking spot boundary. Portable vehicle charging pad 1514 powered by the grid, a generator or solar power 1510 may communicate with sensor 1408 through the use of its own sensor 1508 in order to establish that it is present. 1514 may also communicate with a networked cloud processing system through the use of its own sensor 1508 to aid in dynamic and remote administration (e.g., via GUI screens of any Internet accessible computing device, whether wired or wireless), reservation and payment options for use as well. After a portable vehicle charging pad pairs with a given sensor 1408, it can be registered on a remote distributed cloud processing system as ready to provide charging services. These services may be used on a first come first serve basis or through the use of a remote reservation system.

Such combinations or sets of virtual parking spot boundaries 1512 emitted by sensors 1408 can be placed in an ad-hoc manner for portal, temporary use such as outside large concert venues, for installation in home garage or driveway applications as well as large commercial or civic parking structures and locations. For instance, 10 count 1512 parking virtual parking spot boundaries are required for a special event where 5 must also provide charging facilities. A user can deploy 10 1408 auto-spacing sensors and pair 5 of them with 5 portable vehicle charging pads 1514 with the use of 1514's sensor 1508 in communication with 1408. These portable charging pads 1514 may be powered from the grid, a generator or solar power etc. Once the charging pads are paired with the virtual parking boundary, they can also be registered with the network/cloud processing 120 to provide in-advance-reservation ability.

FIG. 16A shows one sample of a situation where two vehicles are traveling in arbitrary manners within a proximity threshold of each other 1601. Vehicles are registered with a network cloud processing 120 at any given time and will register with one another once they are in proximity of each other as well. In this example both vehicles transmit and receive data regarding their speed, heading, dimensions, GPS locations, trajectories and identification metrics dynamically and constantly. Vehicles use the transmitting sensors 1404 to communicate with each other or with cloud processing 120 at any given time. This information allows vehicles to become aware of not only each other, but also each other's intended paths, outlines and outlines plus buffer areas so as to maneuver together at the same time automatically with minimal or no human interaction not only in shared roadways but also in smaller contained environments such as parking lots, parking garages, drive throughs, emergency situations and collision prediction and avoidance.

In one embodiment, the vehicles can communicate directly with each other via a temporary pairing process. The temporary pairing process can be automatically enabled when vehicles become too close to each other, for example. When this happens, local communication between the vehicles, such as a peer-to-peer connection, Wi-Fi connection, NFC connection, or Bluetooth connection can be established to enable the vehicles to share information concerning their proximity to one another. This local communication will enable one or both vehicles to take correction actions or alert a driver to chance course or trigger automatic collision prevention measures (e.g., more aggressive notifications to one or both operators, slow the speed of one or more vehicles, change the driving direction of one or more vehicles, etc.). Once the close proximity communication occurs and some corrective action is made, the data regarding the occurrence and the actions taken can be communicated to the cloud system for storage. The information can then be viewed by a registered user having access to an account for the vehicle(s).

FIG. 16B shows one example of a situation 1603 where vehicle 1402 wishes to maneuver automatically without human interaction around a physical structure, around an obstacle or to a virtual or physical parking location emitted by a sensor 1408. Vehicle 1402 is in communication using its sensor 1404 with the sensor of the second vehicle. Both vehicles emit their dimensions plus any additional virtual buffer 1602 around the physical dimensions of the vehicle. Processing logic on board each vehicle use the metrics exchanged between the vehicles to calculate avoidance measures. The buffer 1602 may exist around vehicles, structures, objects or virtual boundaries and may be set statically by a human, dynamically in response to collision frequency or remotely by an operator or manufacturer. In this example, buffers 1602 ensure vehicles, objects and structures to not intersect, thus avoiding collision.

FIG. 16C shows one embodiment 1605 where a portable vehicle charging pad or overlay 1514 may be used in conjunction with a virtual parking spot boundary emitted by sensor 1408. In this example, electronics on 1514 such as a charging computer 1606 works in conjunction with sensor 1508 as well as charge interface and indicator 1608 to provide charging services to vehicles utilizing a virtual parking location 1512. This example shows a portable vehicle charging pad or overlay being powered in a portable fashion by the electrical grid, a generator or solar power 1510 in order to pair with 1512 by using 1508 to communicate with 1408 as well as registering with cloud processing 120; thus providing a combination of a parking location for a vehicle which also can provide vehicle charging facilities.

Once a vehicle has chosen to park or is instructed to park at a parking spot 1512 being emitted by 1408, the vehicle or vehicle operator or owner may opt to charge the vehicle if it is an electric vehicle (EV). A vehicle's communication sensor can communicate with the sensor on a virtual parking spot or portal vehicle charging pad to indicate to the vehicle operator or owner that charging facilities are available. Furthermore, the owner of an electric vehicle may have chosen to reserve not only the parking space but also charging type in advance. When an electric vehicle arrives at a parking space where an electric charging facility has been reserved, the vehicle will engage the charging facility or the charging facility may engage the vehicle to transmit the purchased charge.

FIG. 17 shows an example system 1700 where a user 180 may interact remotely through the use of cloud processing 120 with a reservation system tasked with providing information to users regarding the availability of networked connected parking spots, whether physical or virtual as well as reservation and payment facilities 1504. Users may remotely, though the use of a reservation interface on board a vehicle, remote internet connected device, mobile application etc. to search for and reserve parking and charging faculties in advance. A user may share the address, zip code or city they will be traveling to and would like to locate, reserve and purchase parking and or charging time in advance.

Once user 180 elects a parking space, parking time and or charging time and space, he or she will be provided instructions for arriving at the destination parking/charging location. Instructions for auto parking may also be sent to the user's vehicle to allow the user to leave their vehicle at an auto park queue location and walk away while the vehicle is left behind to automatically park without human interaction. Instructions can also be provided to the driver in the form of audio and/or video images (e.g., via a speaker and a display of the vehicle, or linked portable device). The example 1700 shows a listing of transactional data that may include but is not limited to the shown.

Currently, vehicles maintain very valuable information regarding where they are, where they are heading and their destination maintained which is maintained by GPS and navigation systems on board. The wealth of information collected and maintained by every vehicle is mutually exclusive meaning that only each individual vehicle is aware of its own heading, rate of speed and current location. This information, if crowd sourced and crowd shared/consumed, shared wirelessly vehicle-to-vehicle, can become very powerful in use for accident avoidance, in accordance the implementations of the present disclosure.

Methods, computer systems, and servers for processing collision avoidance feedback to vehicles using vehicle-to-vehicle wireless communication, are provided. One method includes detecting proximity separation between a first vehicle and a second vehicle. At least one of the sensors of the first vehicle or the second vehicle determine that a proximity separation is less than a threshold distance. A pairing algorithm is triggered between electronics of the first and second vehicle to enable direct communication for data exchange between the first and second vehicles. The method includes triggering a warning to one or both of the first and second vehicles if the data exchange determines that a probability exists that a heading of the first or second vehicles will result in a collision between the first and second vehicles. The method may initiate corrective action by one or both of the first or second vehicles if the data exchange between the first and second vehicles increase the probability that the heading will result in a collision between the first and second vehicles.

In one embodiment, by networking vehicles within a certain radius (or sphere, separation, distance, area, geo-location separation, etc.), all or some individually location-aware vehicles, can become aware of other vehicles in their sphere of influence. Some or all of the vehicles can network with other vehicles in their range using wireless communication systems, such as but not limited to, Wi-Fi, Wi-Gig LTE, cellular, radio, near field communication or other method.

In some embodiments, vehicle-to-vehicle communication can be implemented using electronics of the vehicle. In other embodiments, the communication can be made using a portable device of the user, which has a wireless communication mode, and in other embodiments, a vehicle can be retrofitted to include electronics to enable vehicle-to-vehicle communication. This can be done by connecting a circuit or module to a port of the vehicle. The port can be any connector, which allows the circuit or module to gain access to at least some of the data of the vehicle, such as speed and/or heading, or braking, or stopping, etc. In other embodiments, the vehicle's native electronics will include the vehicle to vehicle communication electronics to enable the data transfer between cars to avoid or prevent or reduce collisions.

Each vehicle may maintain a table of all other vehicles in, entering, and or leaving its sphere of influence or some separation. Every vehicle will maintain and continuously share its own heading, speed and location. An algorithm on each vehicle may continuously compare the current vehicle's speed, heading and location with that of all other vehicles in its sphere of influence to determine if a collision may result. In one example, some car within a separation can abruptly stop, yet that car is one or more cars ahead of a current car. The current car cannot yet see that an immediate stop will be needed, but because the car ahead communicates its speed, or movement actions or stops, that data can be passed to the user of the car, using a vehicle-to-vehicle wireless communication.

In some implementations, cars can function as moving routers. For instance, if a car three car lengths ahead stops, and the car that is two car lengths head can obtain that information, which is then relayed to the car, which is three cars behind the stopping car. The information can therefore be communicated in a relay mode, where one car passes information to the next car, and to the next car, and so on, so long as that information is relevant to the car that is receiving the data. For instance, the car receiving the data may be within a separation distance of the stopping car, and so are the other cars in the relay. The relay of information can be, similar to passing a token from one vehicle to another, so that the vehicle that has time to act or change its course can take advance of the collision avoidance information.

In still other embodiments, the information regarding a car stopped can be obtained dynamically from the cloud, if the stopping vehicle (which may cause an accident), communicated its moving status to the cloud. The at least one of the other cars in the sphere of influence or separation can communicate the information to the subject car. Thus, the communication can be a hybrid model, where some communication can be vehicle-to-vehicle, and some can be vehicle-to-cloud, and some communication can include mode changes (at different times) between and from vehicle-to-vehicle and vehicle-to-cloud. Cloud information can provide data, which can be useful in notifying drivers of possible problems, obstacles, or imminent collisions, or conditions that cold or may cause a collision. Such data can include, weather at the geo-location of the vehicle and proximate vehicles, reports of actions or conditions by other users nearby, police reports, social network data posted by other users, etc. For instance, if the speed of one vehicle is processed to be too fast for current weather conditions, this can be an input to predict or recommend an adjustment in speed, lane change, alternate route, etc., to a vehicle. Once a vehicle has this information, that information can be provided or communicated to other proximate vehicles, using vehicle-to-vehicle wireless communication.

A vehicle collision is not a single event; it is the intersection that happens between two vehicles having intended paths, headings, and speeds that perfectly collide at some point in the future if course correction is not taken. Thus, an algorithm may be able to predict the probability of a future collision where a human may not and alert the driver to alter heading and/or speed. The system will have the ability to enact passive and active accident avoidance vehicle maneuvers in proactive action to an imminent collision.

The system may alert the drivers to change their rate of speed, heading, or location. The system may give each of the two driver's custom messages such as telling both drivers to veer right so they don't steer into each other. The vehicle may also automatically provide audio and or visual alerts such as honking the horn or flashing headlights to alert the other driver. Active accident avoidance may engage if certain collision is immanent within a certain threshold such as within the next 50 ft for example. In this case, both vehicles, being aware of each other, will engage in an automatic and complementary accident avoidance maneuver such as slowing down, steering away from impact and or both. The vehicle may engage secondary methods of identifying imminent collision such as radar, sonar, infrared or other secondary object identification method to ensure the predicted collision is not a false alarm.

The vehicle's cameras can be automatically engaged to take still photos and or video record any incident, whether it results in a successful avoidance or impact. This footage can be used to alert authorities of the severity of the accident and aid insurance companies in identifying fault. A vehicle will maintain a buffer of events for a given amount of time before and after a collision event or collision avoidance event such as the location, speed, heading, and avoidance measures to store and identify the metrics that lead to an incident.

FIG. 18 shows a collection of vehicles all having independent headings, speed and location. Each of the vehicles shown has the ability to become aware of all of the other vehicles within a range. Car 1, being one example, shows a sample radius of awareness around it. In this example, Car 1 is aware of Car 11, Car 5, Car 9, Car 8, Car 7, Car 3, Car 6, Car 2 and Car 4. Car 1 also keeps track of their heading, speed and location at any given time. Car 1 also knows that Cars 2, 4 and 9 are leaving Car 1's sphere of influence. Car 1 also knows that Cars 7, 11, 2 and 6 are entering Car 1's sphere of influence. Just as Car 1 is aware of all other vehicles around it, all other vehicles shown in this diagram behave in the same manner. For instance, Car 1 is not only keeping track of all other vehicles in its vicinity, Car 1 is also broadcasting its speed, heading and location information so all other Cars in this diagram are aware of it as well.

FIG. 19 shows one vehicle, Car 1, communicating wirelessly with other cars around the position of Car 1, in one embodiment. In this example, Car 1 is sending its heading, speed and location to all of the other vehicles within communication range and also receiving every other vehicles heading, speed and location within communication range. This is one example, however, all other vehicles within communication range (Car 2, 4, 8, 5, 3, 6) are behaving in the same fashion. Car 3 for instance may not be aware of Car 2 because it is not in communication range.

FIG. 20 shows an instance of an asynchronous network in which all vehicles within a certain communication range can “talk” to each other using the same protocol. In this case, the protocol used can be Ethernet through wireless mediums such as 802.11a, b, n, ac, ad or any other wireless communication protocol.

FIG. 21 shows an example system with interfaces, data storage structures, sensor inputs, algorithms and vehicle control systems used in collision avoidance on board each vehicle. Each vehicle will have a network interface, which communicates with other vehicle's network interfaces. Each vehicle may store data coming in from other vehicles in communication range. This set of data will be kept in a table of all vehicles' metrics including but not limited to speeds, headings, locations, destinations, driving characteristics and acceleration.

Similarly, each vehicle will maintain a table of its own metrics including but not limited to speed, heading, location, destination, driving characteristics and acceleration. This data will be passed to other vehicles using the network interface. The vehicle metrics and data are collected using a variety of sensors including but not limited to optical sensors, mechanical sensors, and networked sensors among others. Each on board computer on each vehicle will use data coming in from other vehicles together from data captured by the vehicle itself to feed a collision detection and prediction algorithm.

In one embodiment, each vehicle may have its own privacy settings. For example, privacy settings of one car can enable receipt and transfer of data regarding speed, heading, location, movements, changes in movement, etc. However, the privacy settings can be configured to be only transitory, or have a short lifetime. That is, the data received and shared can expire, so that data cannot be shared outside of the privacy settings. In some embodiments, data is expired can automatically scramble or be marked for deletion. For instance, data that is collected during a period of time, e.g., during a driving session between 1 pm and 2 pm, may only be retained if the data is needed by other vehicles during that time frame. That is, if the shared vehicle-to-vehicle data is useful to avoid an accident at a particular period of time, then that data may be used, processed, and used to implement vehicle accident avoidance process. Once that data is not needed for accident avoidance, that data can be erased, deleted, scrambled, or discarded, as dictated by privacy settings. In other embodiments, that data can be retained, but only based on the settings provided by the user's privacy settings. In some embodiments, data that is shared, but is not traceable to the providing vehicle, can be retained for any period of time. Such data can later be used to determine where accidents occurred, may have occurred, times of day when accidences may occur or can occur. This data can be provided to users by way of websites, services, etc.

In one embodiment, an algorithm will activate a collision management system that interacts with the vehicles control systems including but not limited to audio alerts, visual alerts, horn, headlamps, steering, braking, video and camera recording, safety restraint systems. The collision management system will engage any combination of active and or passive collision avoidance maneuvers using the vehicle's control systems. For instance, if two vehicles are traveling on intended paths that will result in a head-on collision, the systems on both vehicles will calculate if an early warning will suffice. Each of the two vehicles will alert their corresponding driver via audio or visual alert. If the drivers do not correct their intended path and a collision is still predicted by the algorithm, more aggressive systems will engage such as applying braking power or steering the one or both vehicles away from each other.

This is only one example of the various options provided to the user through a graphical user interface. As noted above, the graphical user interface can be integrated with the vehicle, or can be part of a smart device that communicates with the vehicle. The smart device that communicates with the vehicle can communicate using wireless technology so that metrics associate with the vehicle and location of the vehicle can be obtained and then communicated to the cloud processing to exchange information.

FIG. 22 illustrates one example of metrics data that can be obtained by a transportation vehicle (TV), and communication to and from other networked TVs, in accordance with one embodiment of the present invention. In this example, information can be obtained from a particular vehicle, such as service and repair history, whether user is willing to sell or exchange the vehicle, the replacement cost of the vehicle versus repairing the vehicle, the replacement part cost of a vehicle, parts to replace for vehicle (as known from historical data of the same vehicle, or based on a current malfunction), the fuel rates, fuel locations for charge, route generators, modification suggestions for driving to increase performance, accident avoidance data, comparable vehicle current market price, recall information for the current vehicle, etc.

This information can be obtained from the vehicle or from the users of the vehicle. This information can also be obtained by the cloud processing which communicate with other systems connected to the Internet. Other systems can be data stores for information concerning the same vehicle, historical data concerning potential breakdown of the vehicle, price estimates of the vehicle, marketplace data concerning exchange the vehicle, etc. This information can be provided at the vehicle to the user through a computer user interface. On demand, the user can determine whether it's worthwhile to exchange the vehicle for another vehicle, and the potential of the current vehicle to break down.

Furthermore, the user may decide that it's time to exchange the vehicle for new vehicle, and market rates for the current vehicle based on actual vehicle data of the user's vehicle, can be used to identify its current market price. The current market price for replacement vehicle can also be obtained dynamically, and comparable data can be presented to the user in the user interface. Accordingly, the user would not have to input information concerning its vehicle into the user interface simply to figure out what the market price is. The data concerning the vehicle is inherently collected and stored in the vehicle memory based on vehicle use, age, accidents, condition, etc. Additionally, information concerning available vehicles near the user which may be for sale can also be attained dynamically and in real time.

For example if the user wishes to replace the vehicle, the user can simply click a button, select an icon, touch a screen, speak a command, gesture an input, etc., to figure out what his vehicle value is, the cost of a replacement vehicle, and the total cost after exchange. This information can be useful to the user in deciding whether or not to trade in the vehicle or remain with the current vehicle and make investments in repairs. As shown, the data exchange between vehicles and the vehicles and the cloud processing can be extensive, but such information can be made available to drivers of those vehicles to make informed decisions.

Cloud processing 120 technology is also provided, which provides processing resources to connected vehicles through a distributed network. In one embodiment, for electric vehicles, the cloud processing can communicate with various charging stations using Internet connections, where charge station metrics can be uploaded to the cloud processing system. The charge Station metrics can include availability of charge pumps, charge handles, charge plugs, charge mats (for wireless chagrining), volt bars, or other charge providing facilities.

Examples of such metrics can include the number of charge pumps available at particular period of time, historical availability times of the charge pumps, typical charge time estimates at particular charging stations, prices associated with the charge at the particular charging stations, feedback from customers through social networks, concerning the charging stations, and the like. The cloud processing can then process the charge station status, traffic information associated with locations around or between charging stations and a user's current location, and provide specific suggested routes displayed on the user's device 103 or sent to user 180's vehicle(s) or portable programmable vehicle profile(s). The route generator can provide guided routes to the various charging stations (e.g., charge locations), based on the user's 180 immediate needs, desire for discounts, sponsored rewards, or the amount of time it will take to obtain access to a charge pump at a particular point in time. Broadly speaking, a discount is a reward and a reward is a discount, and a sponsored reward is a discount that is at least partially paid by another party for a benefit of the recipient of the reward.

The driver location processor can communicate the information concerning drivers to the cloud processing logic 120, so as to provide the most effective information concerning charge availability to the various drivers. For example, users in their particular vehicles may have a connected display or a portable device having access to the Internet. Based on the user's location and charging needs, (and optionally the destination) the user can be provided with route options (e.g., one or more optional paths). The route options can be, for example, the fastest and most available charge Station (or charge providing devices) to the users current location, the cheapest charge available at a particular point in time, or information regarding charge prices for a particular future point in time.

Once the user selects a route option, the route generator can provide information concerning the charging station, and can also prepay or book a charging station slot. A charging station slot can include, for example a parking spot in front of a charging station. The charging station slot can be reserved if the user decides to prepay for the charging station, as a convenience. For example, if charging slots at a particular charge Station appear to be heavily used, a user can pre-reserve a charging slot ahead of time, so that when the user arrives at the charging station, the charging slot will be immediately available. This could be considered a convenience fee associated with pre-reserving of a charging slot, along a particular route. In another embodiment, the charging station can provide incentives to users to come to the particular charging station.

For example, if the user prepays for charge at a particular charging station, the charging station can provide a discount on the charge provided. For example, if the charging station wishes to fill a plurality a charging slots during a particular slow time, the charging station can communicate with the cloud processing and publish availability of its charging stations per particular period of time. A database associated with cloud processing will hold this information so it can be dynamically updated and accessed in real-time by users to fill their charging needs of their electric vehicles.

During that particular period of time, the charging station can offer discounts or rewards to users so that drivers can decide to visit the charging station instead of another charging station. Still further, charging stations can offer discounts for users to use the particular charging station, and the discounts can be offered by more than one party or entity. For instance, if the charging stations are located near a particular business, that particular business can sponsor discounts or rewards at the charging station to drive traffic to or near that particular business. When users are charging their vehicles at the particular station near the particular business, users can spend their time at the particular business while their vehicle is being charged.

Again, the information displayed to the user can be displayed in the vehicle's display screen or can be displayed on the users display device (e.g. smart phone, computer, tablet, etc.).

In one embodiment, a method for customizing advertisements at a location includes: (a) detecting presence of a vehicle at the location, the vehicle being registered to a user account that manages remote access to the vehicle over cloud processing logic on the Internet; (b) determining preferences for a user account; and (c) modifying display advertisements to show ad content that best matches ad content relevant to the user account, wherein the display advertisements include display screens viewable to occupants of the vehicle when the vehicle is detected to be present at the location.

It will be obvious, however, to one skilled in the art, that the present invention may be practiced without some or all of these specific details. In other instances, well known process operations have not been described in detail in order not to unnecessarily obscure the present invention.

Embodiments of the present invention may be practiced with various computer system configurations including hand-held devices, microprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers and the like. The invention can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a wire-based or wireless network.

With the above embodiments in mind, it should be understood that the invention could employ various computer-implemented operations involving data stored in computer systems. These operations are those requiring physical manipulation of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared and otherwise manipulated.

Any of the operations described herein that form part of the invention are useful machine operations. The invention also relates to a device or an apparatus for performing these operations. The apparatus can be specially constructed for the required purpose, or the apparatus can be a general-purpose computer selectively activated or configured by a computer program stored in the computer. In particular, various general-purpose machines can be used with computer programs written in accordance with the teachings herein, or it may be more convenient to construct a more specialized apparatus to perform the required operations.

The invention can also be embodied as computer readable code on a computer readable medium. The computer readable medium is any data storage device that can store data, which can thereafter be read by a computer system. The computer readable medium can also be distributed over a network-coupled computer system so that the computer readable code is stored and executed in a distributed fashion.

Although the foregoing invention has been described in some detail for purposes of clarity of understanding, it will be apparent that certain changes and modifications can be practiced within the scope of the appended claims. Accordingly, the present embodiments are to be considered as illustrative and not restrictive, and the invention is not to be limited to the details given herein, but may be modified within the scope and equivalents of the description. 

What is claimed is:
 1. A method for navigating a vehicle automatically from a current location to a destination location without a human operator, the method comprising: identifying a vehicle location using global positioning system (GPS) data regarding the vehicle; determining that the vehicle location is within a proximity of a parking location using said GPS data; accessing mapping data for the parking location, the mapping data at least in part used to find a path at the parking location to avoid a collision of the vehicle with at least one physical structure when the vehicle is automatically moved at the parking location, wherein the mapping data is processed by electronics of the vehicle so that when the vehicle is automatically moved collision with the at least one physical structure is avoided; instructing the electronics of the vehicle to proceed with controlling the vehicle to automatically move from the current location to the destination location at the parking location, the electronics use as input at least part of the mapping data and sensor data collected from around the vehicle by at least two vehicle sensors, the path is configured to be updatable dynamically based on changes in the destination location or changes along the path, the destination location being a parking spot for the vehicle at the parking location; wherein the parking spot is an ad-hoc parking spot that is not marked as a predefined parking spot. 